# ZNC Control Dialog                                                                               #
# Load it into mIRC and type /BNC                                                                  #
# This uses '*status'. If you have changed your status prefix, you will have to change the script. #
# Written by iYorkie. Thanks Danneh for neatening up the dialog layout!                            #
####################################################################################################

dialog BNC {
  title "ZNC Control System"
  size -1 -1 205 139
  option dbu
  tab "*Status Control", 1, 3 3 198 129
  button "Version", 2, 6 19 37 12, tab 1
  button "ListServers", 3, 45 33 37 12, tab 1
  button "ListNicks", 4, 6 33 37 12, tab 1
  button "ListDCCs", 5, 45 19 37 12, tab 1
  button "Topics", 6, 45 47 37 12, tab 1
  button "Connect", 7, 6 75 37 12, tab 1
  button "SetBuffer", 8, 6 61 37 12, tab 1
  button "SetVHost", 9, 45 61 37 12, tab 1
  button "Send", 10, 45 75 37 12, tab 1
  button "Detach", 11, 6 47 37 12, tab 1
  button "ListMods", 12, 84 19 37 12, tab 1
  button "AddServer", 13, 84 33 37 12, tab 1
  button "PlayBuffer", 14, 84 47 37 12, tab 1
  button "ClearVHost", 15, 84 61 37 12, tab 1
  button "Get", 16, 84 75 37 12, tab 1
  button "ListAvailMods", 17, 123 19 37 12, tab 1
  button "RemServer", 18, 123 33 37 12, tab 1
  button "ClearBuffer", 19, 123 47 37 12, tab 1
  button "Jump", 20, 123 61 37 12, tab 1
  button "LoadMod", 21, 123 75 37 12, tab 1
  button "ListChans", 22, 162 19 37 12, tab 1
  button "EnableChan", 23, 162 33 37 12, tab 1
  button "ClrAllChanBuf", 24, 162 47 37 12, tab 1
  button "Disconnect", 25, 162 61 37 12, tab 1
  button "UnloadMod", 26, 162 75 37 12, tab 1
  button "ReloadMod", 27, 6 89 37 12, tab 1
  button "ShowMOTD", 28, 45 89 37 12, tab 1
  button "SetMOTD", 29, 84 89 37 12, tab 1
  button "AddMOTD", 30, 123 89 37 12, tab 1
  button "ClearMOTD", 31, 162 89 37 12, tab 1
  button "Rehash", 32, 6 103 37 12, tab 1
  button "SaveConfig", 33, 45 103 37 12, tab 1
  button "ListUsers", 34, 84 103 37 12, tab 1
  button "ListClients", 35, 123 103 37 12, tab 1
  button "Traffic", 36, 162 103 37 12, tab 1
  button "Uptime", 37, 6 117 37 12, tab 1
  button "Broadcast", 38, 45 117 37 12, tab 1
  button "Shutdown", 39, 84 117 37 12, tab 1
  button "Restart", 40, 123 117 37 12, tab 1
  tab "*Admin Control", 41
  button "Get", 42, 6 19 37 12, tab 41
  button "Set", 43, 45 33 37 12, tab 41
  button "GetChan", 44, 6 33 37 12, tab 41
  button "SetChan", 45, 45 19 37 12, tab 41
  button "ListUsers", 46, 45 47 37 12, tab 41
  button "AddUser", 47, 6 75 37 12, tab 41
  button "DelUser", 48, 6 61 37 12, tab 41
  button "CloneUser", 49, 45 61 37 12, tab 41
  button "AddServer", 50, 45 75 37 12, tab 41
  button "LoadModule", 51, 6 47 37 12, tab 41
  button "UnLoadMod", 52, 84 19 37 12, tab 41
  button "ListMods", 53, 84 33 37 12, tab 41
}
on 1:dialog:BNC:sclick:*: {
  if ( $did == 2 ) { 
    /msg *status Version 
  }
  if ( $did == 3 ) {
    /msg *status Listservers
  }
  if ( $did == 4 ) {
    /msg *status ListNicks $$?="Please enter channel." 
  }
  if ( $did == 5 ) {
    /msg *status ListDCCs
  }
  if ( $did == 6 ) {
    /msg *status Topics
  }
  if ( $did == 7 ) {
    /msg *status connect
  }
  if ( $did == 8 ) {
    /msg *status SetBuffer $$?"Enter channel" $$?="Set buffer to? (Number)"
  }
  if ( $did == 9 ) {
    /msg *status SetVHost $$?="Enter vhost to add."
  }
  if ( $did == 10 ) {
    /msg *status send $$?"Enter nick to send file to." $$?="Enter file to send."
  }
  if ( $did == 11 ) {
    /msg *status Detach $$?="Enter a channel"
  }
  if ( $did == 12 ) {
    /msg *status ListMods
  }
  if ( $did == 13 ) {
    /msg *status AddServer $$?="Enter server to add"
  }

  if ( $did == 14 ) {
    /msg *status PlayBuffer $$?="Select Channel"
  }
  if ( $did == 15 ) {
    /msg *status Clearvhost 
  }
  if ( $did == 16 ) {
    /msg *status Get $$?="File to get"
  }
  if ( $did == 17 ) {
    /msg *status ListAvailMods
  }
  if ( $did == 18 ) {
    /msg *status RemServer $$?="Server to remove."
  }
  if ( $did == 19 ) {
    /msg *status ClearBuffer $$?="Channel to clear"
  }
  if ( $did == 20 ) {
    /msg *status jump
  }
  if ( $did == 21 ) {
    /msg *status LoadMod $$?="Load module?"
  }
  if ( $did == 22 ) {
    /msg *status ListChans
  }
  if ( $did == 23 ) {
    /msg *status EnableChan $$?="Channel to enable?"
  }
  if ( $did == 24 ) {
    /msg *status ClearAllChannelBuffers
  }
  if ( $did == 25 ) {
    /msg *status Disconnect
  }
  if ( $did == 26 ) {
    /msg *status UnloadMod $$?="Module to unload?"
  }
  if ( $did == 27 ) {
    /msg *status ReloadMod $$?="Module to reload?"
  }
  if ( $did == 28 ) {
    /msg *status ShowMOTD
  }
  if ( $did == 29 ) {
    /msg *status SetMOTD $$?="Set the MOTD to?"
  }
  if ( $did == 30 ) {
    /msg *status AddMOTD $$?="(LINE 1)" 
    /msg *status AddMOTD $$?="(LINE 2)" 
    /msg *status AddMOTD $$?="(LINE 3)" 
    /msg *status AddMOTD $$?="(LINE 4)" 
    /msg *status AddMOTD $$?="(LINE 5)" 
  }
  if ( $did == 31 ) {
    /msg *status ClearMOTD
  }
  if ( $did == 32 ) {
    /msg *status rehash
  }
  if ( $did == 33 ) {
    /msg *status SaveConfig
  }
  if ( $did == 34 ) {
    /msg *status ListUsers
  }
  if ( $did == 35 ) {
    /msg *status ListClients
  }
  if ( $did == 36 ) {
    /msg *status Traffic
  }
  if ( $did == 37 ) {
    /msg *status Uptime
  }
  if ( $did == 38 ) {
    /msg *status broadcast $$?="Enter Broadcast message"
  }
  if ( $did == 39 ) {
    /msg *status shutdown $$?="Enter shutdown message"
  }
  if ( $did == 40 ) {
    /msg *status restart $$?="Enter restart message"
  }
  if ( $did == 42 ) {
    /msg *admin Get $$?="Enter Variable to Get"  $$?="Enter username to get the variable from"
  }
  if ( $did == 43 ) {
    /msg *admin Set $$?="Enter Variable to Set" $$?="Enter nick to set it on" $$?="Set it to?"
  }
  if ( $did == 44 ) {
    /msg *admin GetChan $$?="Enter Variable to Get" $$?="Enter nick" $$?="Enter channel"
  }
  if ( $did == 45 ) {
    /msg *admin SetChan $$?="Enter Variable to Set" $$?="Enter nick" $$?="Enter channel" $$?="Enter value"
  }
  if ( $did == 46 ) {
    /msg *admin ListUsers
  }
  if ( $did == 47 ) {
    /msg *admin AddUser $$?="Username" $$?="Password" $$?="IRC Server"
  }
  if ( $did == 48 ) {
    /msg *admin DelUser $$?="Username" 
  }
  if ( $did == 49 ) {
    /msg *admin CloneUser $$?="Old Username"  $$?="New Username"
  }
  if ( $did == 50 ) {
    /msg *admin AddUser $$?="Username"  $$?="Server"
  }
  if ( $did == 51 ) {
    /msg *admin loadmodule $$?="Username"  $$?="Module"
  }
  if ( $did == 51 ) {
    /msg *admin unloadmodule $$?="Username"  $$?="Module"
  }
  if ( $did == 51 ) {
    /msg *admin ListMods $$?="Username"
  }

}

menu * {
  BNC Manager:BNC
}

alias BNC {
  $iif($dialog(BNC),dialog -v,dialog -m BNC) BNC
}
